45111314212426323739465152546062647475808185909192939495969710210310611311411511612412512612913414514614714915015516216716817117317417918318518618719019119219319519620120420520821121421521821922222322623023423924024424524824925225325425926126426526927127727828028428929329529830030230430530731031131331631831932133634034334735435535635936236337137537738238538638839640040641541741842442843043143343543644144945045445846046246346646846947047347447548348649249449549850350750851051151451751952052352452552752953153854154254554655055455655756156556756857357557657857958058859259559960160360461061262363163563664264464564664965465766066466666867667867968368568769069271271772072172472573073674174274575275676076176377377677778178879079379680080180380780880981081281381581682182482583183584484784885085285586186286586887187687988188388488888989389589990090490790991291391491892393193293493693994194294394694795295495996497197497898299299399499810011004100610081009101510161019102010211022103010371038103910441046104910501052106110661069107210731077108110921094109510971108111111151116111811201121112211241127113211341135113611391144114511591162116611671171117211771187119411971200120112031205120612081213121712181223122412251226122712331234123612391240124112471248124912511254125712611263126712751279128212871291129313011303130413071308131313151317131913261327133213341336133813391342134313451346134713491354135913601362136613681371137413791380138513891392139313971398140314121415141714181421143114331435143614371439144314441446145114561457145814591460146214631468147214731475148214831486148914951497150015011502150615091518151915221528152915351540155215571559156115711574158015831587158815951596159716011602160416071610161316151616162616281636163716441648164916561661166216641665167416761677168316891690169717001701170317051709171017151721172217231727172817321737173817441745175117531759176017631768176917711772177317741776177717801784178517861791180118061808181118141815181818221825182918301832183718391851185718621863186518661868187418751876188118831891189418951897189919031907191019131916192019271928192919301931193319351936194019411947194819491950195119541956195919631964196619701971197219731974197519781981198719891993199419982000200120072008201520192020202120242025202720282031203220372038204220492050205120562057206220632065207420782081208920912093209520982101211021122121212221342138214321442150215721582171217221752177217821832186219821992202220422092210221122132224222722292230223122322234223522452246224722502251225222532254225722682275227722802288228922932301230323042305230823112319232023262331233323352336233923462349235223592360236223642370238323912392239423952397239924032405241124122418243324352437244524492451245724592462246524682473247424872488249024912499250125052506250925152528253025332534253725422554255925612569257225782583258825942598260726162617261926212622262426302631263326362641264226462667266826702674267926832688268926902692269326942695269726982699270227082711271227132714271727182723272427252726273327362738274227442745274627482761276327642768277127742776278327852796280028052808281828202826283228352837284328482854285628572860286328652866287028712873288228832891290429092915292129242929293529382943294529482955295629612968297429822983298429852990299129942999300030123037303930423048306130653067307130733081308430863088309030933099310031043113311831233124312731353142314631543155315631583160316731683171317231733175317831803182318831923193319732073211321232173219322032313233323432383243324432493253325532623270327432813282328332853287329232933298330233083312331433173318332633313333333533383344334633473348334933503370337133863396339834033404340634173422342634283438344134453446345034513454345534563459346134633464346834713476347934823483348534863488349334943504350935173518352135233533353935423548355335563557355935603565356935723581358335853586358735953596360336053608361036123627363036343639364536463649365536563659366136633665366736683671367536813682368836923706370737093713371437153718372437273730373637403745375337543757375837653773378037833788379138053807381238223824382538263827383038333834384138493860386238653866387238783879388538873888389138923896389738983905391139163918392039333939394039433947395039573960396739693971397239743975397639783979398239853996400240074018402040224029403340374038404540484051405340564058406240654077407940874088408940904099410041034106411041174118411941214124412541284130413341354141414541464148415541714172417441764180418141834185418741884196419742004213422542264232423442374238424642514258426542694270427242744286428742894293429442994301430443054306431143244330433543444349435443554358436443704376437743834386439844014413441644174419442644294433443844404442445044514453445644584461446244664474447644824484449344944497450945134518453845444547455445614571457945914600460246094610461246134614461546244625462846294640464246454647464846544663466746704674467746834688469046934698469947024704470647084712471847194735473647414743474447504753475747624767476847914798480348074811481248154818482048214823482448254827482848294841484348444846485148574859486048644868487048714874487948874889489248994906490849124915491649174919493149334937494249444956495949614963496449684970497249925002500550095012501850225027503050325033503750425049505450595063506650685069507250735085508750905091509451005104511051165117512251265128513351415143514451485152515451565163516751685170519152025205520752105211523352365239524352465254525952615263528552875290529152925299530253045309531153155323532653315332533353375346534753555358536353645369537253735374537753795380538953905399540354085412541554215423542554265433544154485457545954615464547054725476548454885491549354985504552255235529553855405545554855525554555555605563557155725574558355845592559456005604561256155618561956205622562356275632564356535655565756615663566856805681568956925695569757045707570957145716572257265728572957305732574257465752575857655766577057855789579157935798581158135816581858205827583558365841584658485852585558665870587158725880588258875903592159265931593859405941594259545960596559805982598559935995599659985999600260046008602060236024602560276030603760436044605760616062606460656083608860956099610261066109611261206131613461356136614161426143614761566160616361646165616661676173617761816184618561876188618961926200620962106211621262136216621762186221622262286229623162326233623962446250626062686270627462776279628362856287629263026312631363176327633063356339634163466356635863706372637463756378638263866393639664046406640764106412641464156416643264416442645164536455645664586459646164626463646464666472647664826488649764996511652065266532654765506554657265776579658865896592660066046609661966226623662566286629663066316635664166456648665466556656666566686673667666816682668466886691670167026706670967156717671867196721672667286733673567366739674067486755676767706773678367876794679667976798680368056808680968116812681868206827683168386844685168666871687868836890689168946901690869106914691769256926692769296930694369496950695269546956696269696972697669776982698469916993699569987007701070127013701570197027703270407041704370457052705570607063706570707072707470827083708570907094709671077118711971227126712771327135713871397140714371457146715171527158716171637168717571767181718471857196721172147216721772197225722972307236724272457250725272577259726272697274727672777289729372967300730273047318732873427345734673477358736473747375737873797380738473857388739073937395739673987400740374057407741074117418742074227434744174507453745674707477747874827490750075117515752375287541754275557559756175657573757875797587758975927593760176027607760876127613761876237624762676277631763376357637763976437651765476617666768376877694769576967698769977007702770977127716771777187728773577367741774777507761777077727779778077927796781478177821782378277837784178537856786178667871787378907892789378957896790079027907791579287939794579487954796879797983799679978001800480058007801380178019802680498056806580698072807880808083808580988101810781178122812381258128813181368145814981528156815781668168817081758184818982058217822182238224822982328235824582478251825282548256826182738278828282838291829983058306831083178321832383248328833283388343834683478350835183578360836383678368837583868392839483958398839984018403840884118414841684218422842784298430843884418446844784518453846284668472847585008506851285158522853285338535853685408549855385648569857285768588860186038610861186158618862386318635864186468649865186568663867686838685868986958696870087028707871087158740874287548755875687608765877587768778878287948795879687998800880888098811881488198820882388428845884988558859886088628865887288738880888188828883888488878894889589048909891189158927893089348941895289538954895589728976898289868994899990089029903790439053906990719080908490879088909090939096910591099113911891269129913591369148915791599169917791999215921792189220922192249229923992459251926092629263926592719280928192859292929592979300930293079310931593179318932093249326933093389345934893539360936793689369937493779382938593929397940094029404941194159417942594269427943094319435943694449448944994509452945494559458945994729475947694789479948294889506950895099510951495169519952495259528953295479549955195529553955795639564956795709573957595779590959196059614961696239624962596289629963196349635964696599662966896699671967396749681968396909696971497189725972797289737974097419752975597709779978397859786979197999812981698229824983198349844984598499852985698579866986898739876987798789880988999049908992099239946994799549956995799589962996799689970997699789981998299889990999399982147483647